Sam Steingold [Tue, 31 Oct 2017 19:33:40 +0000 (15:33 -0400)]
Highlight CL `with-' (context) and `do-' (iteration)
* lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
Highlight the Common Lisp conventional names as described in
http://www.cliki.net/Naming+conventions.
(lisp-el-font-lock-keywords-2): Remove the already commented out
code for `do-' and `with-' because Emacs Lisp does not have a similar
convention.
Sam Steingold [Tue, 31 Oct 2017 19:20:51 +0000 (15:20 -0400)]
Highlight uninterned symbols.
* lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
Highlight uninterned symbols, often used as string designators to
avoid namespace pollution (https://stackoverflow.com/a/
46981940/850781).
Stefan Monnier [Tue, 31 Oct 2017 03:54:19 +0000 (23:54 -0400)]
* lisp/progmodes/ebnf2ps.el: Use lexical-binding; fix warnings
(ebnf-eps-executing): Declare var.
(ebnf-eps-string): Clarify regexp; don't use string-as-unibyte since we're
manipulating chars rather than bytes.
(ebnf-tree): Move declaration before first use.
(ebnf-generate-eps, ebnf-generate): Don't use dyn-var as argument.
(ebnf-generate-eps): Use cl-letf and unwind-protect.
(ebnf-eps-production-list): Get a ref rather than a symbol.
(ebnf-generate-eps): Adjust call accordingly.
Stefan Monnier [Mon, 30 Oct 2017 18:15:00 +0000 (14:15 -0400)]
* lisp/net/newst-backend.el: Use lexical scoping and fix warnings
(newsticker-stop, newsticker-get-all-news)
(newsticker--decode-rfc822-date, newsticker--lists-intersect-p)
(newsticker--update-process-ids, newsticker--cache-read)
(newsticker-opml-export, newsticker--run-auto-mark-filter)
(newsticker--do-run-auto-mark-filter): Use dolist.
(newsticker--insert-bytes): New function, to avoid string-to-multibyte.
(newsticker--get-news-by-funcall, newsticker--get-news-by-url-callback)
(newsticker--image-download-by-url-callback): Use it.
(newsticker--parse-rss-0.91, newsticker--parse-rss-0.92):
Remove unused var `pub-date`.
(newsticker--parse-generic-feed): Remove unused var `old-item`.
(newsticker--parse-generic-items): Use dolist and let rather than mapc
and setq.
(newsticker--image-download-by-url-callback): Simplify boolean expression.
viniciusjl [Mon, 30 Oct 2017 16:21:00 +0000 (14:21 -0200)]
Remove last entry.
viniciusjl [Sun, 29 Oct 2017 22:28:58 +0000 (20:28 -0200)]
Email replacement.
Paul Pogonyshev [Sat, 28 Oct 2017 10:46:36 +0000 (13:46 +0300)]
Add 'ert-quiet' variable
* lisp/emacs-lisp/ert.el (ert-quiet): New variable.
(ert-run-tests-batch): When 'ert-quiet' is non-nil, don't
print non-important information. (Bug#29025)
* doc/misc/ert.texi (Running Tests in Batch Mode): Document it.
* etc/NEWS: Mention the new variable.
Ulf Jasper [Fri, 27 Oct 2017 11:26:06 +0000 (13:26 +0200)]
Fix documentation of `newsticker-new-item-functions' (bug#29023).
* lisp/net/newst-backend.el (newsticker-new-item-functions),
(newsticker-new-item-functions-sample),
(newsticker-download-enclosures): Fix docstring, rename
variable feed to feedname (bug#29023).
* doc/misc/newsticker.texi (Automatic Processing)
(Automatic Processing): Fix documentation of
`newsticker-new-item-functions' (bug#29023).
Stefan Monnier [Fri, 27 Oct 2017 02:15:41 +0000 (22:15 -0400)]
* lisp/vc/ediff-wind.el: Don't pop spurious frame in corner case
(ediff-setup-windows-multiframe-compare): Clarify control-flow.
Postpone the initial call to ediff-skip-unsuitable-frames until we're
sure it's needed to avoid creating a spurious new frame.
(ediff-setup-windows, ediff-setup-windows-plain)
(ediff-setup-windows-plain-merge, ediff-setup-control-frame)
(ediff-setup-windows-plain-compare, ediff-setup-windows-multiframe)
(ediff-setup-windows-multiframe-merge): Use with-current-buffer.
Lars Ingebrigtsen [Thu, 26 Oct 2017 19:48:46 +0000 (21:48 +0200)]
Fix up svg text encoding
* lisp/svg.el (svg--encode-text): The SVG driver doesn't like
it if we use ' for apostrophe, so use our own encoding
function instead of relying on the xml one.
Anders Lindgren [Thu, 26 Oct 2017 19:31:13 +0000 (21:31 +0200)]
New package, `faceup'
`faceup' is a framework for regression testing of font-lock
keywords in ert. It is based on a human-readable markup
language. (Bug#16063 and bug#28311).
* lisp/emacs-lisp/faceup.el:
* test/lisp/emacs-lisp/faceup-tests/faceup-test-basics.el:
* test/lisp/emacs-lisp/faceup-tests/faceup-test-files.el:
* test/lisp/emacs-lisp/faceup-resources/faceup-test-mode.el:
* test/lisp/emacs-lisp/faceup-resources/faceup-test-this-file-directory.el:
* test/lisp/emacs-lisp/faceup-resources/files/test1.txt:
* test/lisp/emacs-lisp/faceup-resources/files/test1.txt.faceup:
New files.
Stefan Monnier [Wed, 25 Oct 2017 16:37:09 +0000 (12:37 -0400)]
Fix misleading error during autoload (bug#28994)
* src/eval.c (Fautoload_do_load): Don't silence `load` errors when
autoloading a macro. If silencing load errors, also silence the
subsequent check.
Stefan Monnier [Wed, 25 Oct 2017 13:36:27 +0000 (09:36 -0400)]
* lisp/play/gamegrid.el: Use lexical-binding to silence warnings
(gamegrid-init-buffer): Silence another warning.
Gemini Lasswell [Mon, 16 Oct 2017 15:30:51 +0000 (08:30 -0700)]
Make Snake, Tetris and Pong adjust to display DPI
Replace gamegrid's constant 16x16 glyph with a generated one based
on display dimensions (bug#24658).
* lisp/play/gamegrid.el (gamegrid-glyph-height-mm): New variable.
(gamegrid-glyph-height): Deleted.
(gamegrid-xpm, gamegrid-xbm): Constants replaced with functions.
(gamegrid-colorize-glyph): Use new functions instead of constants.
(gamegrid-calculate-glyph-size, gamegrid-insert-xbm-bits): New
functions.
Glenn Morris [Tue, 24 Oct 2017 05:07:51 +0000 (22:07 -0700)]
* configure.ac (AC_INIT): Use https for package url.
Glenn Morris [Tue, 24 Oct 2017 05:01:14 +0000 (22:01 -0700)]
* lisp/format.el (format-alist): Use internal rot13.
Eric Abrahamsen [Sun, 22 Oct 2017 23:46:49 +0000 (16:46 -0700)]
Fix to
2fddfb7ce7
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
Fix bogus paren wrapping.
Gemini Lasswell [Sat, 14 Oct 2017 16:13:36 +0000 (09:13 -0700)]
Change Edebug's behavior-changing hooks to variables
* lisp/emacs-lisp/edebug.el (edebug-after-instrumentation-functions)
(edebug-new-definition-functions): Deleted.
(edebug-after-instrumentation-function)
(edebug-new-definition-function): New variables.
(edebug-behavior-alist): Update docstring.
(edebug-read-and-maybe-wrap-form1, edebug-make-form-wrapper): Use new
variables.
* lisp/emacs-lisp/testcover.el (testcover-start)
(testcover-this-defun): Use `edebug-after-instrumentation-function' and
`edebug-new-definition-function'.
(testcover-after-instrumentation): Return passed form.
(testcover-init-definition): Use argument instead of `edebug-def-name'.
* doc/lispref/edebug.texi (Edebug Options): Replace descriptions of
`edebug-after-instrumentation-functions' and `edebug-new-definition-functions'
with `edebug-after-instrumentation-function' and
`edebug-new-definition-function'.
Masatake YAMATO [Sun, 22 Oct 2017 09:22:41 +0000 (18:22 +0900)]
Put cpp config file to ~/.emacs.d/cpp.el if possible (Bug#28685)
If `cpp-config-file` starts with '.', remove the '.'
when putting the file to ~/.emacs.d.
Suggested by Noam Postavsky <npostavs@users.sourceforge.net>
* lisp/progmodes/cpp.el (cpp-locate-user-emacs-file): New
function wrapping `locate-user-emacs-file`.
(cpp-edit-load, cpp-edit-save): Use it.
Masatake YAMATO [Sun, 22 Oct 2017 09:22:40 +0000 (18:22 +0900)]
Fix reading and writing cpp-config-file under home directory (Bug#28685)
* lisp/progmodes/cpp.el (cpp-edit-load): Load ~/.cpp.el when
it is readable.
(cpp-edit-save): Write to ~/.cpp.el when it is wriable.
Eric Abrahamsen [Sun, 22 Oct 2017 14:59:29 +0000 (07:59 -0700)]
Handle object string name in eieio-persistent-convert-list-object
* lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
Starting to phase out the printing of object names in
`object-write', handle either case.
Glenn Morris [Sat, 21 Oct 2017 16:07:30 +0000 (09:07 -0700)]
Merge from origin/emacs-26
888e51f220 (origin/emacs-26) Update describe-function for recent Fdoc...
75bb482763 Make flymake's mouse-wheel interaction portable (Bug#28732)
035d7ac7e4 Prevent eldoc from changing the mode line
c9d71b31bf Fix doc strings in simple.el
0d8e4f45d6 Avoid creating inconsistent buffer states in term-char-mode
79d57f4b7a New input method 'usbek-cyrillic'
4587d8e0ef Document 'minibuffer-with-setup-hook'
# Conflicts:
# etc/NEWS
Glenn Morris [Sat, 21 Oct 2017 16:00:16 +0000 (09:00 -0700)]
Update describe-function for recent Fdocumentation change
* lisp/help-fns.el (describe-function-1):
Handle Fdocumentation returning either void or invalid.
Charles A. Roelli [Sat, 21 Oct 2017 12:56:59 +0000 (14:56 +0200)]
Make flymake's mouse-wheel interaction portable (Bug#28732)
* lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
'mouse-4' and 'mouse-5'. Update the tooltip text accordingly, and
remove a stray newline in it.
Nick Helm [Sat, 21 Oct 2017 08:41:28 +0000 (11:41 +0300)]
Prevent eldoc from changing the mode line
* lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
change the mode line if it is not displayed. (Bug#28697)
Eli Zaretskii [Sat, 21 Oct 2017 08:36:37 +0000 (11:36 +0300)]
Fix doc strings in simple.el
* lisp/simple.el (shell-command-saved-pos)
(region-extract-function, region-bounds): Doc fixes. (Bug#28609)
Phil Sainty [Sat, 21 Oct 2017 08:17:56 +0000 (11:17 +0300)]
Avoid creating inconsistent buffer states in term-char-mode
* lisp/term.el (term-mode, term-char-mode, term-line-mode)
(term-emulate-terminal): Make buffer read-only in 'term-char-mode',
except for the process filter's output. Use 'read-only-mode-hook' to
track and restore the user-set state of 'buffer-read-only' for
'term-line-mode'. (Bug#24837)
(term-char-mode-buffer-read-only): New user option.
(term-line-mode-buffer-read-only): New buffer-local variable.
(term-line-mode-buffer-read-only-update): New function.
(term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
in pre-command-hook, and 'term-goto-process-mark-maybe' in
post-command-hook to counter-act unexpected changes to point when
using 'term-char-mode'.
(term-char-mode-point-at-process-mark): New user option.
(term-goto-process-mark): New buffer-local variable.
(term-set-goto-process-mark): New function.
(term-goto-process-mark-maybe): New function.
(term-process-mark): New function.
* etc/NEWS: Mention the new behavior and user options.
Bahodir Mansurov [Sat, 21 Oct 2017 08:07:34 +0000 (11:07 +0300)]
New input method 'usbek-cyrillic'
* lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
(Bug#28848)
* etc/NEWS: Mention the new input method.
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sat, 21 Oct 2017 07:43:30 +0000 (10:43 +0300)]
Document 'minibuffer-with-setup-hook'
* doc/lispref/minibuf.texi (Minibuffer Misc): Document
minibuffer-with-setup-hook. (Bug#28877)
Paul Eggert [Sat, 21 Oct 2017 05:47:09 +0000 (22:47 -0700)]
* etc/NEWS.26: Sync from emacs-26 etc/NEWS.
Paul Eggert [Sat, 21 Oct 2017 05:45:36 +0000 (22:45 -0700)]
Merge from origin/emacs-26
868eb74f91 Simplify make-progress-reporter vs float-time
83db9a1bba Fix two more minor Gnus typos
e655946ce0 Fix two minor Gnus typos
6a00914d6d Tweak Fdocumentation's error for an undefined function
7c63655e39 Tweak format of list of old files in NEWS header
# Conflicts:
# etc/NEWS
Paul Eggert [Sat, 21 Oct 2017 05:44:13 +0000 (22:44 -0700)]
; Merge from origin/emacs-26
The following commit was skipped:
ef3d8505ec * lisp/help-fns.el (describe-function-1): Fix help-fns-tes...
Paul Eggert [Sat, 21 Oct 2017 05:44:13 +0000 (22:44 -0700)]
Merge from origin/emacs-26
11bd8aa24b Fix flymake's loading of subr-x
b500e06f4d Fix Bug#28896
d815de017b Skip a Flymake test for old gcc versions
fd3d8610b2 Make :align-to account for display-line-numbers
831eafc8ae Augment Flymake API for third-party extensions
ddd547fada Improve treatment of Fortran's "class default"
234b1e3864 Flymake backends must check proc obsoleteness in source bu...
3ea6a4d4ba Skip an rsync test in tramp-tests.el
25f83fa7c5 ; Indentation fixes
4d578d432d On Windows default a frame's border width to zero (Bug#28873)
6f1dea5c74 Spelling fixes
b8433b0954 Use pop-to-buffer-same-window instead of switch-to-buffer
2f7163fb72 Fix the MSDOS build.
2551d28fe8 Fix line number display after 'widen'
dc8812829b Remove resizable attribute on macOS undecorated frames (bu...
b970a4a52a Fix handling of `border-width' in `frameset--restore-frame...
445e92658f Mention how to send CC to > 1 address in a bug report
8ca6fa585a Improve format-time-string doc
2e1b3522b8 Improve documentation of 'line-number-display-width'
5b6e59cfdb Implement vc-default-dir-extra-headers for vc-rcs
22adeca42a In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
2c3e6f1ddc Dont update primary selection with winner-undo
b38724ab67 Work around ImageMagick bug 825
20cc68e871 Document rectangle-preview option more (Bug#27974)
a0b7b301dd Do not reject https://gnu.org in commit messages
fb4200a875 Fix Edebug spec for cl-defun (bug#24255)
db68cefe72 Fix errors in kmacro.el post-command-hook
c63b344c3d Fix range-error in image-dired.el
081d2187c4 Fix 'line-number-display-width' in hscrolled windows
16e85456e7 Fix error in tramp-smb-handle-insert-directory
613db8d35c Don't reject PBM header whitespace unnecessarily
3205b12a78 Fix regression in display of PPM images
1ca9ae7069 Require subr-x when compiling nnimap.el
de60992053 Fix ert-test finding by symbol (Bug#28849)
51615a8082 Don't remember old debugger window (Bug#17882)
5980de3727 Disable python native completion on w32 (Bug#28580)
616b4c5956 Let select-frame-by-name choose any frame when called from...
8eb3c01dbd * lisp/dired-aux.el (dired-create-directory): Doc fix.
325dfdae13 Avoid compilation warnings in optimized builds
f79382819c ; * src/composite.c (Fclear_composition_cache): Fix last c...
f95cd5cd70 Improve customization of arabic-shaper-ZWNJ-handling.
a7f154688d Improve customization type of 'mouse-drag-and-drop-region'
864734d112 ; Prefer https: to http: in GNU URLs
3c78960a47 Encourage https: in commit messages
def9715282 ; Cleanup of etc/NEWS
4e59ecc646 Fix wording in Elisp manual's child frames section (Bug#28...
eda9f5018c Another fix for C mode fontification of w32 source files
05aadd8990 Fix fontification of ALIGN_STACK functions
aa0c38f358 Make sure thread stack is properly aligned on MS-Windows
d7038020aa Do not under-align pseudovectors
ff33053012 Fix indentation bug in multi-line CSS selectors
8968be822e ; * etc/NEWS: Grammar and spelling fixes
716b84034d gnutls_mac_get_nonce_size has been added in gnutls 3.3
55e313f7be ; * CONTRIBUTE: More suggestions for using US English.
622c675648 * CONTRIBUTE: Suggest American English.
# Conflicts:
# etc/NEWS
# msdos/sed2v2.inp
Tino Calancha [Sat, 21 Oct 2017 04:05:48 +0000 (13:05 +0900)]
Allow to copy/rename file into a non-existent dir
* lisp/dired-aux.el (dired-create-destination-dirs): New option.
(dired-maybe-create-dirs): New defun.
(dired-copy-file-recursive, dired-rename-file): Use it (Bug#28834).
* lisp/dired-aux-tests.el (dired-test-bug28834): Add test.
* doc/emacs/dired.texi (Operating on Files): Update manual.
* etc/NEWS (Changes in Specialized Modes and Packages in Emacs 27.1)
Announce this change.
Paul Eggert [Sat, 21 Oct 2017 03:13:09 +0000 (20:13 -0700)]
Simplify make-progress-reporter vs float-time
* lisp/subr.el (make-progress-reporter): Remove no-longer-needed
doc and code for the case where float-time is not supported,
since float-time is always present now.
Paul Eggert [Sat, 21 Oct 2017 02:40:09 +0000 (19:40 -0700)]
Prefer nil to (current-time) when either works
* doc/misc/gnus.texi (Category Syntax):
* lisp/allout-widgets.el (allout-widgets-post-command-business):
* lisp/cedet/ede/detect.el (ede-detect-qtest):
* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay)
(pulse-tick):
* lisp/cedet/semantic.el (bovinate):
* lisp/cedet/semantic/analyze.el:
(semantic-analyze-current-symbol-default, semantic-adebug-analyze):
* lisp/cedet/semantic/analyze/refs.el (semantic-analyze-current-tag):
* lisp/cedet/semantic/lex.el (semantic-lex-test):
* lisp/cedet/semantic/symref/filter.el:
(semantic-symref-test-count-hits-in-tag):
* lisp/cedet/srecode/dictionary.el (srecode-adebug-dictionary):
* lisp/cedet/srecode/map.el (srecode-adebug-maps):
* lisp/desktop.el (desktop-create-buffer):
* lisp/emacs-lisp/benchmark.el (benchmark-elapse):
* lisp/emacs-lisp/elp.el (elp--make-wrapper):
* lisp/epa.el (epa--show-key):
* lisp/erc/erc.el (erc-lurker-cleanup, erc-lurker-p):
* lisp/gnus/gnus-agent.el (gnus-agent-fetch-articles)
(gnus-agent-expire-group-1, gnus-agent-store-article):
* lisp/gnus/gnus-art.el (article-lapsed-string):
* lisp/gnus/gnus-cloud.el (gnus-cloud-update-newsrc-data)
(gnus-cloud-collect-full-newsrc):
* lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
* lisp/gnus/gnus-html.el (gnus-html-cache-expired):
* lisp/gnus/gnus-score.el (gnus-score-load-file)
(gnus-decay-scores):
* lisp/gnus/nndiary.el (nndiary-expired-article-p):
* lisp/gnus/nnmail.el (nnmail-expired-article-p):
* lisp/gnus/nnmaildir.el (nnmaildir--scan):
* lisp/gnus/score-mode.el (gnus-score-edit-insert-date):
* lisp/image/gravatar.el (gravatar-cache-expired):
* lisp/net/newst-backend.el (newsticker--image-get)
(newsticker--cache-mark-expired):
* lisp/nxml/rng-maint.el (rng-time-function):
* lisp/org/org-agenda.el (org-agenda-to-appt):
* lisp/org/org-clock.el (org-clock-resolve-clock)
(org-clock-resolve, org-resolve-clocks-if-idle):
* lisp/org/org-colview.el (org-columns-edit-value, org-columns)
(org-columns-compute-all, org-agenda-columns):
* lisp/org/org-element.el (org-element--cache-interrupt-p)
(org-element--cache-sync):
* lisp/org/org-habit.el (org-habit-get-faces)
(org-habit-insert-consistency-graphs):
* lisp/org/org-indent.el (org-indent-add-properties):
* lisp/org/org-timer.el (org-timer-start)
(org-timer-pause-or-continue, org-timer-seconds)
(org-timer-show-remaining-time, org-timer-set-timer):
* lisp/org/org.el (org-babel-load-file, org-current-time)
(org-today, org-auto-repeat-maybe, org-read-date-analyze)
(org-small-year-to-year, org-goto-calendar):
* lisp/org/ox.el (org-export-insert-default-template):
* lisp/time.el (emacs-uptime):
* lisp/type-break.el (type-break-mode, type-break)
(type-break-time-warning-schedule, type-break-check):
* lisp/url/url-cache.el (url-cache-expired):
* lisp/url/url.el (url-retrieve-synchronously):
* test/lisp/char-fold-tests.el (char-fold--speed-test):
* test/manual/cedet/semantic-ia-utest.el:
(semantic-symref-test-count-hits-in-tag):
* test/manual/cedet/semantic-tests.el (semantic-idle-pnf-test)
(semantic-lex-test-full-depth):
Use nil instead of (current-time) where either will do, as nil is
a bit more efficient and should have less timing error.
Paul Eggert [Sat, 21 Oct 2017 02:16:29 +0000 (19:16 -0700)]
Fix two more minor Gnus typos
* lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
The old code had two minor bugs: first, it multiplied by 1/65536
instead of by 1/86400. Second, it called current-time twice and
glued part of the two results together, resulting in a race.
Fix both bugs by simplifying the code and using
time-to-number-of-days.
Paul Eggert [Sat, 21 Oct 2017 01:12:01 +0000 (18:12 -0700)]
Fix two minor Gnus typos
* lisp/gnus/gnus-sum.el (gnus-summary-import-article):
Remove unused local, and fix use of local that was never assigned to.
Glenn Morris [Fri, 20 Oct 2017 23:29:15 +0000 (19:29 -0400)]
; * etc/NEWS: Stop list of old NEWS files growing without limit.
Glenn Morris [Fri, 20 Oct 2017 23:18:23 +0000 (19:18 -0400)]
Tweak Fdocumentation's error for an undefined function
* src/doc.c (Fdocumentation): Restore the pre-25 behavior
of signalling a void-function error for an undefined function.
This seems cleaner than Emacs 25's "invalid-function: nil" error,
which was (probably) an unintended consequence of changes to
Findirect_function.
Glenn Morris [Fri, 20 Oct 2017 23:14:34 +0000 (19:14 -0400)]
Tweak format of list of old files in NEWS header
* etc/NEWS: Stop list of old NEWS files growing without limit.
* admin/admin.el (set-version): Handle either NEWS header format.
Stefan Monnier [Fri, 20 Oct 2017 23:00:11 +0000 (19:00 -0400)]
* lisp/emacs-lisp/debug.el: Use cl-print more systematically
(debugger-return-value, debugger-eval-expression, debugger--insert-locals):
Use debugger--print.
Stefan Monnier [Fri, 20 Oct 2017 21:57:37 +0000 (17:57 -0400)]
* lisp/emacs-lisp/eieio.el (eieio-object-name-string): De-obsolete
This is apparently the advertised method to use for `eieio-named' objects.
Also use sxhash-eq to get a more precise default "object name".
(eieio-object-set-name-string): Clarify obsolescence message.
* lisp/emacs-lisp/eieio-base.el (eieio-object-name-string): Delegate to
the default method when applicable.
Stefan Monnier [Fri, 20 Oct 2017 20:04:02 +0000 (16:04 -0400)]
* lisp/help-fns.el (describe-function-1):
Fix help-fns-test-dangling-alias. (Bug#28918)
(cherry picked from commit
e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
Stefan Monnier [Fri, 20 Oct 2017 20:04:02 +0000 (16:04 -0400)]
* lisp/help-fns.el (describe-function-1): Fix help-fns-test-dangling-alias.
Glenn Morris [Fri, 20 Oct 2017 17:07:30 +0000 (13:07 -0400)]
Fix flymake's loading of subr-x
* lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
No need to load subr-x at run-time.
Wilfred Hughes [Fri, 20 Oct 2017 14:04:37 +0000 (15:04 +0100)]
css-mode: Don't confuse variable names with class names
This fixes highlighting for class names that contain --, for example:
.foo--bar {
display: none;
}
* lisp/textmodes/css-mode.el (css--font-lock-keywords): Make regular
expression stricter.
Tino Calancha [Fri, 20 Oct 2017 13:22:08 +0000 (22:22 +0900)]
ibuffer: new filter to list buffers running a process
* lisp/ibuf-ext.el (ibuffer-filter-by-process): Add new filter (Bug#28825).
* lisp/ibuffer.el (ibuffer-mode-map): Bound it to '/E'.
; * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 27.1):
; Announce this change.
Tino Calancha [Fri, 20 Oct 2017 13:11:39 +0000 (22:11 +0900)]
Make ibuffer filters idempotent
* lisp/ibuf-ext.el (ibuffer-push-filter): Check if the
filter is already in effect (Bug#28826).
* lisp/ibuf-macs.el (define-ibuffer-filter):
Report to user if the filter was already enabled.
Michael Albinus [Fri, 20 Oct 2017 10:46:54 +0000 (12:46 +0200)]
Fix Bug#28896
* lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
being a directory. (Bug#28896)
* test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
(tramp-test12-rename-file): Test also FILENAME being a directory.
João Távora [Fri, 20 Oct 2017 10:25:34 +0000 (11:25 +0100)]
Skip a Flymake test for old gcc versions
Fixes: 28906
* test/lisp/progmodes/flymake-tests.el
(different-diagnostic-types): Skip this test for gcc versions
< 5.
Eli Zaretskii [Fri, 20 Oct 2017 09:36:12 +0000 (12:36 +0300)]
Make :align-to account for display-line-numbers
These changes also update the various bundled packages to use
new feature, and better support customizations of the line-number
face.
* src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
Make :align-to count from the end of the line-number display when
the offset or the width form reference that of the text area.
(Bug#28855)
* src/indent.c (Fline_number_display_width): Implement support for
the PIXELWISE argument being 'columns'. Update the doc string.
(syms_of_indent): New symbol 'columns'.
* lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
Call line-number-display-width with last argument 'columns'.
* lisp/proced.el (proced-header-line): Call
line-number-display-width with 2nd arg 'columns', which also fixes
a problem when display-line-numbers is nil.
* lisp/emacs-lisp/tabulated-list.el
(tabulated-list-line-number-width): Call line-number-display-width
with 2nd arg 'columns.
(tabulated-list-entry-lnum-width): Remove unneeded defvar.
(tabulated-list-print, tabulated-list-print-entry): No need to
account for the value of tabulated-list-entry-lnum-width.
(tabulated-list--current-lnum-width): New defvar.
(tabulated-list-watch-line-number-width): New function.
(tabulated-list-mode): Bind tabulated-list--current-lnum-width
locally, and set up tabulated-list-watch-line-number-width as
pre-redisplay-functions hook.
* doc/lispref/display.texi (Size of Displayed Text): Document the
'columns' value of the PIXELWISE argument.
(Pixel Specification): Update and improve the documentation of the
supported forms.
João Távora [Thu, 19 Oct 2017 11:33:20 +0000 (12:33 +0100)]
Augment Flymake API for third-party extensions
See
https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
* doc/misc/flymake.texi (Flymake error types): Rewrite
example.
(Flymake utility functions): Augment with new API.
* lisp/progmodes/flymake.el (flymake-diagnostics): New function.
(flymake--diag-accessor): New helper macro.
(flymake-diagnostic-buffer, flymake-diagnostic-text)
(flymake-diagnostic-beg, flymake-diagnostic-end)
(flymake-diagnostic-backend): Accessors for diagnostic objects.
(flymake--overlays): Use flymake-diagnostic property.
(flymake--highlight-line): Simplify. Only set
flymake-diagnostic property.
(flymake--handle-report, flymake-goto-next-error): Use
flymake-diagnostic property.
(flymake-show-diagnostic): Use diagnostic object.
(flymake--diagnostics-buffer-entries): Use
flymake-diagnostics.
Glenn Morris [Fri, 20 Oct 2017 00:05:48 +0000 (20:05 -0400)]
Improve treatment of Fortran's "class default"
* lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
Handle "class default". (Bug#28786)
* test/automated/f90.el (f90-test-bug25039): Add "class default".
João Távora [Thu, 19 Oct 2017 23:50:34 +0000 (00:50 +0100)]
Flymake backends must check proc obsoleteness in source buffer
Flymake backends that rely on sentinels running asynchronously and
checking buffer-local variables that hold running processes should
check for obsoleteness in the correct buffers, otherwise a (harmless)
warning might be triggered.
* doc/misc/flymake.texi (An annotated example backend):
Check buffer-local proc in the current buffer.
* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
Check buffer-local proc in the current buffer.
Michael Albinus [Thu, 19 Oct 2017 11:37:23 +0000 (13:37 +0200)]
Skip an rsync test in tramp-tests.el
* test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
Skip for "rsync".
Bastian Beischer [Thu, 19 Oct 2017 10:03:11 +0000 (13:03 +0300)]
; Indentation fixes
Martin Rudalics [Thu, 19 Oct 2017 07:51:12 +0000 (09:51 +0200)]
On Windows default a frame's border width to zero (Bug#28873)
* src/w32fns.c (Fx_create_frame): Default `border-width' to zero
as everywhere else, see Bug#28873.
Paul Eggert [Thu, 19 Oct 2017 01:43:00 +0000 (18:43 -0700)]
Spelling fixes
* lisp/cedet/semantic/analyze/refs.el:
(semantic-analyze-proto-impl-toggle): Fix recently-introduced
misspelling of pop-to-buffer-same-window.
Bastian Beischer [Wed, 18 Oct 2017 23:44:46 +0000 (02:44 +0300)]
Use pop-to-buffer-same-window instead of switch-to-buffer
* lisp/cedet/semantic/decorate/include.el
(semantic-decoration-include-visit):
Use pop-to-buffer-same-window instead of switch-to-buffer
(bug#28645).
* lisp/cedet/semantic/analyze/refs.el
(semantic-analyze-proto-impl-toggle): Same.
* lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
Same.
* lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
Same.
* lisp/cedet/semantic/complete.el (semantic-complete-jump):
Same.
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Wed, 18 Oct 2017 22:36:44 +0000 (00:36 +0200)]
* lisp/svg.el (svg--encode-text): Fix off-by-one error in previous patch.
Lars Ingebrigtsen [Wed, 18 Oct 2017 22:34:42 +0000 (00:34 +0200)]
(svg--encode-text): Make strings even more valid
* lisp/svg.el (svg--encode-text): Quote &<>, too.
Lars Ingebrigtsen [Wed, 18 Oct 2017 22:25:22 +0000 (00:25 +0200)]
Encode non-ASCII SVG texts
* lisp/svg.el (svg--encode-text): Encode non-ASCII texts.
Eli Zaretskii [Wed, 18 Oct 2017 17:21:25 +0000 (20:21 +0300)]
Fix the MSDOS build.
* msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
(XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
(LIBSYSTEMD_LIBS): Edit to empty.
(LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
(PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
Remove editing of lines that are no longer present in
src/Makefile.in.
* msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
(NEED_MKTIME_WORKING): Define to 1.
(HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
DJGPP >= 2.05.
(HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
Define PACKAGE_VERSION, not VERSION.
(FLEXIBLE_ARRAY_MEMBER): Define to empty.
(HAVE_DECL_*_UNLOCKED): Define to 0.
(HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
(PENDING_*): Don't define, as Gnulib no longer supports that.
Instead, define _IOERR as it is in libc/file.h.
* msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
determine the current directory.
(UPDATE_MANIFEST, UTILITIES): Don't edit.
* msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
* msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
(HYBRID_MALLOC): Edit to empty.
(am__cd): Don't edit.
(../config.status): Replaces $(top_builddir)/config.status.
Define OMIT_GNULIB_MODULE_foo = true for modules not built for
MS-DOS. Convert GL_GENERATE_xxx_H_TRUE and
GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
* msdos/mainmake.v2 (src): Use 'compile-one-process', and make
the command line shorter to fit into 126-char limit of
command.com.
* config.bat: Generate src/deps/*.d files. Rename more files
like djtar on plain DOS would.
Don't rename src/dir.h: it is long gone. Edit
lib/gnulib.mk.in using the same scripts as for
lib/Makefile.in.
* msdos/depfiles.bat: Create *.d files, not *.Po.
* src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
error message.
* src/thread.h [MSDOS]: Include <signal.h>.
* src/sysselect.h (select) [MSDOS]: Undefine, to avoid
compilation errors.
* src/sysdep.c (block_interrupt_signal, restore_signal_mask):
Expose to MSDOS build.
* src/process.c (update_processes_for_thread_death)
[!subprocess]: No-op implementation.
[HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
declaration of nofile_limit outside "#ifdef subprocesses", as
it's needed for MSDOS.
* src/msdos.c (faccessat): Declare fullname[].
* src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
Include termhooks.h.
* src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
WINDOWSNT, not DOS_NT.
* admin/admin.el (set-version): Set version on PACKAGE_VERSION.
Eli Zaretskii [Wed, 18 Oct 2017 16:16:16 +0000 (19:16 +0300)]
Fix line number display after 'widen'
* src/xdisp.c (maybe_produce_line_number): Don't use data cached
by line-number-mode on the first redisplay after the buffer is
widened. (Bug#28879)
Alan Third [Tue, 17 Oct 2017 09:51:03 +0000 (10:51 +0100)]
Remove resizable attribute on macOS undecorated frames (bug#28512)
* src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
(initFrameFromEmacs): Remove Cocoa specific window style attributes.
Martin Rudalics [Wed, 18 Oct 2017 08:04:40 +0000 (10:04 +0200)]
Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
* lisp/frameset.el (frameset--restore-frame): Don't process
`border-width' parameter via ‘modify-frame-parameters’
(Bug#28873).
Tino Calancha [Wed, 18 Oct 2017 03:12:39 +0000 (12:12 +0900)]
Mention how to send CC to > 1 address in a bug report
* admin/notes/bugtracker (* More detailed information):
mention how to CC to more than 1 address (Bug#28833).
Paul Eggert [Wed, 18 Oct 2017 01:25:18 +0000 (18:25 -0700)]
Improve format-time-string doc
* doc/lispref/os.texi (Time Parsing): Fix some errors in the
documentation for format-time-string. Document ^, #, %s, and %z
with colons. Say that unrecognized sequences are output as-is.
* src/editfns.c (Fformat_time_string): %S can stand for 60.
Also mention unrecognized sequences.
Eli Zaretskii [Tue, 17 Oct 2017 16:17:22 +0000 (19:17 +0300)]
Improve documentation of 'line-number-display-width'
* doc/lispref/display.texi (Size of Displayed Text): Document the
additional 2 columns used for line-number display.
* src/indent.c (Fline_number_display_width): Doc fix. (Bug#28248)
İ. Göktuğ Kayaalp [Mon, 9 Oct 2017 22:43:30 +0000 (01:43 +0300)]
Implement vc-default-dir-extra-headers for vc-rcs
Add a do-nothing implementation for vc-rcs to suppress the message which
the default function adds to the vc-dir buffer (Bug#28570).
* lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
Martin Rudalics [Tue, 17 Oct 2017 08:24:54 +0000 (10:24 +0200)]
In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
* etc/NEWS: Mention that applications should prefer
`pop-to-buffer-same-window' to `switch-to-buffer'. (Bug#28645)
Tino Calancha [Tue, 17 Oct 2017 07:20:08 +0000 (16:20 +0900)]
Dont update primary selection with winner-undo
* lisp/winner.el (winner-set):
Dont update primary selection when select-enable-primary
is non-nil (Bug#28631).
Co-authored-by: Noam Postavsky <npostavs@gmail.com>
Paul Eggert [Tue, 17 Oct 2017 06:44:32 +0000 (23:44 -0700)]
Work around ImageMagick bug 825
This should fix several bugs reported recently against Emacs
(Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
* src/image.c (imagemagick_load_image):
Do not call MagickWandTerminus.
Noam Postavsky [Sun, 15 Oct 2017 21:09:09 +0000 (17:09 -0400)]
Document rectangle-preview option more (Bug#27974)
* lisp/rect.el (string-rectangle):
* etc/NEWS.25: Mention `rectangle-preview'.
Paul Eggert [Mon, 16 Oct 2017 22:54:06 +0000 (15:54 -0700)]
Do not reject https://gnu.org in commit messages
* build-aux/git-hooks/commit-msg: Do not reject commit messages
containing http: or ftp: URLs to gnu.org or fsf.org. Instead,
rewrite the messages to use https: URLs.
Eric Abrahamsen [Mon, 16 Oct 2017 18:30:05 +0000 (11:30 -0700)]
Documentation and error-message edits re gnus-server-alist
* lisp/gnus/gnus.el (gnus-server-alist): Expand docstring.
* lisp/gnus/gnus-srvr.el (gnus-server-kill-server,
gnus-server-edit-server): Return error messages that tell the user
what the actual problem is.
* doc/misc/gnus.texi (Server Commands): Note that not all servers are
editable via the server buffer.
Gemini Lasswell [Mon, 16 Oct 2017 18:09:29 +0000 (11:09 -0700)]
Fix Edebug spec for cl-defun (bug#24255)
* lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
`cl-lambda-list' to support destructuring argument lists.
(cl-defun, cl-defmacro): Fix spelling errors in docstrings.
* lisp/textmodes/rst.el: Remove alternate version of Edebug
specs for `cl-lambda-list' and `cl-type-spec'.
Eli Zaretskii [Mon, 16 Oct 2017 16:36:06 +0000 (19:36 +0300)]
Fix errors in kmacro.el post-command-hook
* lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
avoid 'void-variable' errors. (Bug#28818)
* test/lisp/kmacro-tests.el
(kmacro-tests-step-edit-cleans-up-hook): Now succeeds. (Bug#18708)
Eli Zaretskii [Mon, 16 Oct 2017 16:25:01 +0000 (19:25 +0300)]
Fix range-error in image-dired.el
* lisp/image-dired.el (image-dired-create-thumb-1): Avoid
overflowing an Emacs integer on 32-bit hosts. (Bug#28809)
Eli Zaretskii [Mon, 16 Oct 2017 15:51:32 +0000 (18:51 +0300)]
Fix 'line-number-display-width' in hscrolled windows
* src/indent.c (line_number_display_width): Make sure a line
number is generated even when the first line of the window is
completely hscrolled out of view. (Bug#28854)
Michael Albinus [Mon, 16 Oct 2017 09:35:02 +0000 (11:35 +0200)]
Fix error in tramp-smb-handle-insert-directory
* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Insert size information only when FULL-DIRECTORY-P is non-nil.
Andy Moreton [Mon, 16 Oct 2017 08:23:32 +0000 (01:23 -0700)]
Don't reject PBM header whitespace unnecessarily
* lisp/image.el (image-type-header-regexps):
Allow two or more CRs or LFs in initial whitespace sequences. See:
http://netpbm.sourceforge.net/doc/pbm.html
Paul Eggert [Mon, 16 Oct 2017 08:14:58 +0000 (01:14 -0700)]
Fix regression in display of PPM images
Problem reported by Roland Winkler (Bug#28824#35).
Based on a patch proposed by Andy Moreton (Bug#28824#38).
* src/image.c (pbm_scan_index): New function.
(pbm_load): Use it to decode raw data correctly when its top bit
is set.
Eric Abrahamsen [Mon, 16 Oct 2017 03:21:35 +0000 (20:21 -0700)]
Require subr-x when compiling nnimap.el
* lisp/gnus/nnimap.el (require): For the when-let* macro.
Noam Postavsky [Sun, 15 Oct 2017 15:38:21 +0000 (11:38 -0400)]
Fix ert-test finding by symbol (Bug#28849)
In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
symbol used for ert tests in load-history was changed from
`ert-deftest' to `ert--test', but a couple of other places were not
updated accordingly.
* lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
`ert--test' as the TYPE to `find-function-do-it'.
(top-level): Use `ert--test' as the key to the
`find-function-regexp-alist' entry.
Noam Postavsky [Fri, 13 Oct 2017 02:59:53 +0000 (22:59 -0400)]
Don't remember old debugger window (Bug#17882)
* lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
when `debugger-will-be-back' is nil.
Noam Postavsky [Fri, 13 Oct 2017 03:25:13 +0000 (23:25 -0400)]
Disable python native completion on w32 (Bug#28580)
* lisp/progmodes/python.el
(python-shell-completion-native-disabled-interpreters): For windows-nt
systems, put an empty string to match interpreters.
Noam Postavsky [Fri, 1 Sep 2017 13:38:55 +0000 (09:38 -0400)]
Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
* lisp/frame.el (select-frame-by-name): Choose from the whole list of
frames in the non-interactive part, if not found on the current
display.
Eli Zaretskii [Sun, 15 Oct 2017 16:36:58 +0000 (19:36 +0300)]
* lisp/dired-aux.el (dired-create-directory): Doc fix.
Eli Zaretskii [Sun, 15 Oct 2017 16:20:58 +0000 (19:20 +0300)]
Avoid compilation warnings in optimized builds
* src/process.c (Fmake_network_process):
* src/image.c (xbm_scan, gif_load):
* src/fileio.c (Frename_file):
* src/data.c (Fmake_local_variable):
* src/buffer.c (fix_start_end_in_overlays):
* lib-src/etags.c (process_file_name): Mark variables with UNINIT
to avoid compiler warnings in optimized builds.
Eli Zaretskii [Sun, 15 Oct 2017 16:13:34 +0000 (19:13 +0300)]
; * src/composite.c (Fclear_composition_cache): Fix last change.
K. Handa [Sun, 15 Oct 2017 14:15:47 +0000 (23:15 +0900)]
Improve customization of arabic-shaper-ZWNJ-handling.
Make the effect of customizing arabic-shaper-ZWNJ-handling appear
immediately.
* lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
value.
* src/composite.c (Fclear_composition_cache): New function.
(syms_of_composite): Defsubr it.
Charles A. Roelli [Sun, 15 Oct 2017 10:40:34 +0000 (12:40 +0200)]
Improve customization type of 'mouse-drag-and-drop-region'
* lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
precise customization type.
Paul Eggert [Sun, 15 Oct 2017 02:18:37 +0000 (19:18 -0700)]
; Prefer https: to http: in GNU URLs
Paul Eggert [Sun, 15 Oct 2017 02:16:12 +0000 (19:16 -0700)]
Encourage https: in commit messages
* CONTRIBUTE: Prefer https: when citing.
* build-aux/git-hooks/commit-msg:
Diagnose http: and ftp: URLs to FSF or GNU hosts.
Michael Albinus [Sat, 14 Oct 2017 10:56:26 +0000 (12:56 +0200)]
; Minor changes in etc/NEWS
Michael Albinus [Sat, 14 Oct 2017 10:52:05 +0000 (12:52 +0200)]
; Cleanup of etc/NEWS
Martin Rudalics [Sat, 14 Oct 2017 08:30:09 +0000 (10:30 +0200)]
Fix wording in Elisp manual's child frames section (Bug#28819)
* doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
Eli Zaretskii [Sat, 14 Oct 2017 08:19:56 +0000 (11:19 +0300)]
Another fix for C mode fontification of w32 source files
* .dir-locals.el (c-mode) <c-noise-macro-names>: Add
"CALLBACK", to correctly fontify functions with this attribute.